package com.dynamicthreadpool.core;

import java.util.concurrent.BlockingQueue;

/**
 * 支持动态调整大小的阻塞队列接口
 */
public interface ResizeableBlockingQueue<E> extends BlockingQueue<E> {
    
    /**
     * 调整队列容量
     * @param newCapacity 新的队列容量
     * @return 是否调整成功
     * @throws IllegalArgumentException 如果新容量无效
     */
    boolean resize(int newCapacity);
    
    /**
     * 获取队列当前容量
     * @return 队列容量
     */
    int capacity();
}
